﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using TechControl.BD;

namespace TechControl.Presentation
{
    public partial class frm_cadMarca : frm_default
    {
        frm_cadEquipamento cadEquipamento = new frm_cadEquipamento(null);

        public frm_cadMarca(frm_cadEquipamento sendedCadEquip)
        {
            InitializeComponent();
            cadEquipamento = sendedCadEquip;
        }

        //carrega text com o ultima marca registrada.
        private void frm_cadMarca_Load(object sender, EventArgs e)
        {
            Int64 result = MarcaDB.getInstance().getLastCodMarca();

            result++;

            txt_codMarca.Text = result.ToString();
        }

        //fecha o form.
        private void bt_cancelar_Click(object sender, EventArgs e)
        {
            this.closeForm();
        }

        //inseri um novo registro.
        private void bt_salvar_Click(object sender, EventArgs e)
        {
            if (verificaCampos())
            {
                Int64 idMarca = Int64.Parse(txt_codMarca.Text);
                string marca = txt_marca.Text;

                if (cadEquipamento == null)
                {
                    if (MarcaDB.getInstance().insertNewMarca(idMarca, marca))
                    {
                        var resultado = MessageBox.Show("Registro inserido com sucesso, Deseja inserir outro?", "Nova Marca", MessageBoxButtons.YesNo,
                            MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
                        if (resultado == DialogResult.Yes)
                        {
                            Int64 result = MarcaDB.getInstance().getLastCodMarca();

                            result++;
                            txt_codMarca.Text = "";
                            txt_codMarca.Text = result.ToString();
                            txt_marca.Text = "";
                            txt_marca.Focus();
                        }
                        else
                        {
                            this.closeForm();
                        }
                    }
                }
                    else
                    {
                        if (MarcaDB.getInstance().insertNewMarca(idMarca, marca))
                        {
                            var resultado = MessageBox.Show("Registro inserido com sucesso, Deseja inserir outro?", "Nova Marca", MessageBoxButtons.YesNo,
                                MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
                            if (resultado == DialogResult.Yes)
                            {
                                Int64 result = MarcaDB.getInstance().getLastCodMarca();

                                result++;
                                txt_codMarca.Text = "";
                                txt_codMarca.Text = result.ToString();
                                txt_marca.Text = "";
                                txt_marca.Focus();
                            }
                            else
                            {
                                cadEquipamento.recarregarMarca(idMarca.ToString() + "= " + marca);
                                this.closeForm();
                            }
                        }
                    }
                }
            }
        
        //verifica se os campos estão preenchidos
        private bool verificaCampos()
        {
            bool result = true;

            if (txt_marca.Text == "")
            {
                result = false;
                MessageBox.Show("Insira uma Marca para continuar!", "Nova Marca");
                txt_marca.Focus();
            }
            return result;
        }
    }
}
